#ifndef PORTFOLIO_H
#define PORTFOLIO_H

#include <iostream>
#include <allegro.h>
#include <winalleg.h>
#include <vector>
#include "../State.h"
#include "../ResourceManager.h"
#include "../GraphicsUtil.h"
#include "../IntroFadeState.h"

using namespace std;

class Portfolio
{
public:
	Portfolio() : updates_per_second(60)
	{ 
		std::cout<<"Init me!"; 
	}

	void setupAllegro();

	void startGUI();

	ResourceManager getRMgr()
	{
		return rMgr;
	}

	GraphicsUtil getGUtil()
	{
		return gUtil;
	}

	static void ticker();

	static void game_time_ticker();

	static volatile int ticks;
private:
	const int updates_per_second;
	
	static volatile int game_time;

	GraphicsUtil gUtil;

	ResourceManager rMgr;

	vector<State *> states;
};

#endif PORTFOLIO_H